Towards a Global Software Development Distribution Model: Empirically-based Model Building for Distributed Software Development Master thesis
نویسندگان
چکیده
In recent years, global software development has become a common practice. Technological advances and expected benefits such as saving personnel costs and accessing a larger pool of resources have led to software development that is now often spread across several locations all over the world. However, distributed development also entails a number of risks and problems, for instance in terms of communication and knowledge transfer between sites, resulting in project failures. The challenge in global software development thus consists of maximizing the expected benefits while minimizing its risks and problems. A crucial factor for this is work allocation, i.e., the assignment of tasks in a software development project to the available sites. The goal of this thesis is the analysis of work allocation practices and criteria for the task assignment decision. The results of this analysis will then form the basis of an initial decision model that can support work allocation by providing a weighted list of assignment alternatives. The content of this thesis consists of three parts: First, a literature study analyzes experience reports, empirical studies, and other literature in order to identify factors that influence the work allocation decision. Second, a qualitative interview study with practitioners identifies the state of the practice in distributed development and refines the results of the literature study. Finally, a generic decision support model for distributed work allocation is developed and implemented. Based on the results of the literature and interview studies, the generic model is then instantiated into a specific decision support model that can be used to make suggestions for task assignment. The interview study resulted in a set of sometimes unexpected findings. For instance, there seems to be a difference in work allocation between software service companies (with mainly individual development projects for customers) and companies that develop their own software products: In product companies, task assignment is mostly based on expertise and on specialized teams, whereas in software service companies, the focus seems to be more on the availability of resources. Another surprising result was the fact that even though for most of the companies, cost was one of the main criteria for initiating global software development, the majority did not consider the cost rate per site as an important criterion for work allocation. The main contributions of this thesis are an analysis of the state of the practice in distributed work allocation, identification of a list of factors that influence task assignment, and a generic model – including a prototype implementation – for decision support in distributed work allocation.
منابع مشابه
An Agent-Based Approach to Distributed Simulation, Distributed Prototyping and Software Integration
Due to nowadays huge availability of data and software, a software developer must be able not only to invent good algorithms and implement them eeciently, but also to assemble existing components to create, timely and economically, a new application. Prototyping is a software engineering paradigm particularly suitable for the compositional approach to software development. A working prototype e...
متن کاملMeasuring the Performance of the Virtual Teams in Global Software Development Projects
The development teams who are geographically spread, culturally mixed and mainly depend on information and communication technology (ICT) for communication is defined as a global virtual teams (GVTs). Despite the advancement of technologies, achieving the efficient performance of GVTs remains a challenge. The reviewed literature has highlighted the importance of training and development, organi...
متن کاملComposite modeling based on distributed graph transformation and the eclipse modeling framework
Model-driven development (MDD) has become a promising trend in software engineering for a number of reasons. Models as the key artifacts help the developers to abstract from irrelevant details, focus on important aspects of the underlying domain, and thus master complexity. As software systems grow, models may grow as well and nally become possibly too large to be developed and maintained in a ...
متن کاملA Case Study of Coordination in Distributed Agile Software Development
Problem Description Today, many companies develop software in project teams with members located in different parts of the world with different culture. This assignment's objective is to study the phenomenon of global software development. For theses, it will be of interest to do field research in global projects. Abstract Both global software development and agile approaches have gained signif...
متن کاملRoadmap for Lean implementation in Indian automotive component manufacturing industry: comparative study of UNIDO Model and ISM Model
The demands for automobiles increased drastically in last two and half decades in India. Many global automobile manufacturers and Tier-1 suppliers have already set up research, development and manufacturing facilities in India. The Indian automotive component industry started implementing Lean practices to fulfill the demand of these customers. United Nations Industrial Development Organization...
متن کامل